package servlet;

import pojo.User;
import service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;

@WebServlet(name = "LoginServlet",value = "/login")
public class LoginServlet extends HttpServlet {
    private UserService userService = new UserService();

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String rememberMe = request.getParameter("rememberMe");
        User user = userService.login(username, password);
        if (user!=null){

            if ("1".equals(rememberMe)){
//                向前端发送Cookie记住用户名和密码的信息
                Cookie cookieUsername = new Cookie("username", username);
                Cookie cookiePassword = new Cookie("password", password);
                cookieUsername.setMaxAge(7*24*3600);
                cookiePassword.setMaxAge(7*24*3600);
                response.addCookie(cookieUsername);
                response.addCookie(cookiePassword);
            }else{
//                清除Cookie中已有的用户名和密码的信息
                Cookie cookieUsername = new Cookie("username", null);
                Cookie cookiePassword = new Cookie("password", null);
                cookieUsername.setMaxAge(0);
                cookiePassword.setMaxAge(0);
                response.addCookie(cookieUsername);
                response.addCookie(cookiePassword);
            }
//            登录成功： 1.存Session 2.重定向页面
            HttpSession session = request.getSession();
            session.setAttribute("LOGIN_USER",user);
            response.sendRedirect("selectAll");
        }else {
//            登录失败：1.存失败消息2.转发到登录页
            String msg = "用户名或密码错误！";
            request.setAttribute("LOGIN_MSG",msg);
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }

    }
}
